<?php

require_once '\Models\LoginHandler.php';
require_once '\Controllers\LoginController.php';
require_once '\Views\LoginView.php';

//$test = new Test();
//$test->LoginHandlerTest();
//$test->LoginViewTest();

class Test{
	
	public function LoginViewTest()
	{
		$view = new LoginView();
		
		$_POST["user"] = "abc";
		$_POST["pass"] = "dfg";
		$_POST["login"] = "login";
		$_POST["logut"] = "logout";
		$_POST["rememberMe"] = "rememberMe";
		
		//Fungerar det att försöka logga in?
		if($view->TriedToLogin() == FALSE)
		{
			echo "Fel på TriedToLogin";
		}
		
		//Fungerar det att försöka logga ut?
		if($view->TriedToLogOut() == FALSE)
		{
			echo "Fel på TriedToLogout";
		}
		
		//Fungerar det att hämta indata, user och pass?
		if($view->GetUserName() != "abc")
		{
			echo "Fel på GetUserName";
		}
		if($view->GetPassword() != "dfg")
		{
			echo "Fel på GetPassword";
		}
		
		//Fungerar det att kryssa i kom ihåg rutan?
		if($view->GetCheckBoxValue() == FALSE)
		{
			echo "Fel på GetCheckBoxValue";
		}
		
		//Fungerar det att skapa Cookies?
		$view->CreateCookie("abc", "dfg");
		if($view->GetUserName() != "abc")
		{
			echo "Fel på CreateCookie";
		}
		if($view->GetPassword() != "dfg")
		{
			echo "Fel på CreateCookie";
		}
		
		//Fungerar det att ta bort Cookies?
		$view->DestroyCookie();		
		if(isset($_COOKIE["user"])){
			echo "Fel på DestroyCookie";	
		}		
	}
	
	public function LoginHandlerTest()
	{
		$handler = new LoginHandler();
		
		//Loggar ut
		$handler->Logout();
		
		//Kollar om man verkligen är utloggad
		if($handler->IsLoggedIn() == true){
			echo "Fel på antingen Logout eller IsLoggedIn <br />";
			return false;
		}
				
		//Loggar in med fel uppgifter
		if($handler->Login("bad", "user") == true){
			echo "Fel på inloggningen! <br />";
			return false;
		}
				
		//Kollar om man verkligen är utloggad
		if($handler->IsLoggedIn() == true){
			echo "Fel på antingen Logout eller IsLoggedIn 2 <br />";
			return false;
		}
			
		//Loggar in med rätt
		if($handler->Login("andreas", "larsson") == false){
			echo "Fel på inloggningen";
			return false;
		}
				
		//Kontrollera så att vi är inloggade
		if($handler->IsLoggedIn() == false){
			echo "Det är något fel på IsLoggedIn <br />";
			return false;
		}
				
		//Loggar ut
		$handler->Logout();
		
		//Kollar om man verkligen är utloggad
		if($handler->IsLoggedIn() == true){
			echo "Fel på antingen Logout eller IsLoggedIn 2 <br />";
			return false;
		}
					
		return true;
	}
}